package TransactionImplementation

import (
	"PaySalary/AbstractTransactions"
	"PaySalary/Model"
	"PaySalary/ModelImplementation"
)

type ChangeCommissionedTransaction struct {
	AbstractTransactions.ChangeClassificationTransaction
	itsSalary float64
	itsCommissionRate float64
}

func (ct *ChangeCommissionedTransaction)NewChangeCommissionedTransaction(empid int, salary float64, commssionRate float64)  {
	ct.ChangeClassificationTransaction.NewChangeClassificationTransaction(empid)
	ct.itsSalary = salary
	ct.itsCommissionRate = commssionRate
}

func (ct *ChangeCommissionedTransaction)GetClassification() Model.PaymentClassification {
	return ModelImplementation.NewCommissionedClassification(ct.itsSalary,ct.itsCommissionRate)
}

func (ct *ChangeCommissionedTransaction)GetSchedule() Model.PaymentSchedule {
	return ModelImplementation.BiweeklySchedule{}
}